Map lens in a user interface

ABSTRACT

A map lens may take the form of a shape that may be superimposed on a map displayed in the user interface, moved around the map by the user, and activated by the user to select a region of the map bounded by the map lens. Activation of the map lens may cause the user interface to display only those markers that are within the region bounded by the map lens. In situations where the user moves the map lens over unselected regions of the map, the user interface may dynamically show or hide markers on the map. This may have the effect of presenting to the user a visually uncluttered map in which markers are only shown in the region in which the user has expressed some interest, as indicated by the user moving the map lens to that region of the map.

RELATED APPLICATION

This application is a Continuation of U.S. patent application Ser. No.14/223,591, filed Mar. 24, 2014, which application claims the prioritybenefit of U.S. Provisional Patent Application No. 61/807,054, filedApr. 1, 2013, which applications are incorporated herein by reference intheir entirety.

TECHNICAL FIELD

The subject matter disclosed herein generally relates to the processingof data. Specifically, the present disclosure addresses systems andmethods to provide a user interface.

BACKGROUND

A user interface (e.g., a graphical user interface (GUI) to a machine(e.g., computer) may display some or all of a geographical map withvarious markers to indicate geographical locations within the displayedgeographical map. A portion of the geographical map may be displayedwithin a graphical window (e.g., an application window, a frame of theweb page, a pop-up window, or any suitable combination thereof). Such auser interface may allow a user to alter the presented contents of thegraphical window by manipulating the geographical map (e.g., zooming in,zooming out, panning left, panning right, panning upwards, or panningdownwards). Where one or more geographical locations within the map areindicated by markers within the graphical window, the manipulating ofthe geographical map may accordingly manipulate the displayed markers.For example, zooming in may cause fewer markers to be displayed in thegraphical window, while zooming out may cause more markers to bedisplayed in the graphical window.

BRIEF DESCRIPTION OF THE DRAWINGS

The patent or application file contains at least one drawing executed incolor. Copies of this patent or patent application publication withcolor drawings will be provided by the U.S. Patent and Trademark Officeupon request and payment of the necessary fee.

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings.

FIG. 1 is a network diagram illustrating a network environment suitablefor providing a map lens in a user interface, according to some exampleembodiments.

FIG. 2 is a block diagram illustrating components of a machine suitablefor providing a map lens in a user interface, according to some exampleembodiments.

FIG. 3 is a screenshot that illustrates a user interface displaying amap without a map lens, according to some example embodiments.

FIG. 4 is a screenshot that illustrates the user interface showing a maplens over an unselected empty region within the map, according to someexample embodiments.

FIG. 5 is a screenshot that illustrates the user interface showing themap lens over a currently selected region within the map, with a cursorhovering over a default position within the currently selected region,according to some example embodiments.

FIG. 6 is a screenshot that illustrates the user interface showing themap lens over a currently selected region of the map, with the cursorhovering over an enlarged marker within the currently selected region,according to some example embodiments.

FIG. 7 is a screenshot that illustrates the user interface showing thecurrently selected region of the map, with the map lens hovering over anunselected empty region of the map, according to some exampleembodiments.

FIG. 8 is a screenshot that illustrates the user interface showing thecurrently selected region of the map, with the map lens hovering over anunselected non-empty region of the map (e.g., a region populated by atleast one marker), according to some example embodiments.

FIGS. 9-15 are screenshots that illustrate the user interface showingthe map lens in motion over unselected regions of the map, with a boxpresenting automatically updated information on the current unselectedregion bounded by the map lens, according to some example embodiments.

FIG. 16 is a screenshot that illustrates the user interface showing themap lens over a currently selected region of the map, with a cursorhovering over an enlarged marker within the currently selected region,according to some example embodiments.

FIG. 17 is a screenshot that illustrates the user interface showing themap lens over the currently selected region of the map, with the cursorover a currently selected marker and with a pop-up window presentinginformation on the currently selected marker, according to some exampleembodiments.

FIGS. 18-21 are flowcharts illustrating operations of the machine inproviding the map lens in the user interface, according to some exampleembodiments.

FIG. 22 is a block diagram illustrating components of a machine,according to some example embodiments, able to read instructions from amachine-readable medium and perform any one or more of the methodologiesdiscussed herein.

DETAILED DESCRIPTION

Example methods and systems are directed to providing a map lens in auser interface. Examples merely typify possible variations. Unlessexplicitly stated otherwise, components and functions are optional andmay be combined or subdivided, and operations may vary in sequence or becombined or subdivided. In the following description, for purposes ofexplanation, numerous specific details are set forth to provide athorough understanding of example embodiments. It will be evident to oneskilled in the art, however, that the present subject matter may bepracticed without these specific details.

A “map lens” is a feature that may be provided as part of the userinterface (e.g., as a user-operable element of the user interface). Themap lens may take the form of a shape (e.g., a circle or a hexagon) thatmay be superimposed on a map (e.g., geographical map) displayed in theuser interface, moved around the map by the user (e.g., according tocursor movement), and activated by the user to select a region of themap bounded by the map lens (e.g., bounded by the shape of the maplens). For example, the user interface may display the map and allow theuser to move the map lens, instead of a cursor, around the map. A userinput (e.g., a click of a mouse, or a press of a key) may indicateselection of the region of the map currently bounded by the map lens,and the user interface may stop moving the map lens and insteaddisplaying movable cursor that allows the user to indicate one or morelocations on the map (e.g., inside the map lens, outside the map lens,or both). According to some example embodiments, the user interfacedisplays the movable cursor within the currently selected region of themap, but if the cursor is moved by the user outside this currentlyselected region, an additional map lens is shown to indicate that adifferent region the map may be selected next.

In some example embodiments, the shape of the map lens is static (e.g.,a circle of constant radius). In such cases, the shape may beindependent of the level of zoom at which the map is displayed. Inalternative example embodiments, the shape of the map lens is dynamic(e.g., changes linearly or non-linearly with zooming, or changes itsboundaries as the map lens is moved over the map). For example, theboundaries of the shape may be automatically determined based onfeatures (e.g., landmarks, streets, or topographical indicators)displayed in the map. In some example embodiments, a dynamic shape ofthe map lens is an irregular polygon that is automatically determined bysetting its boundaries to match major features of the map (e.g.,freeways, coastlines, waterways, city borders, postal code borders,boulevards having at least a minimum number of lanes, or roads having atleast a minimum level of traffic). In some example embodiments, the maplens is presented transparently within the user interface (e.g., withthe appearance of a normal cursor, without visible boundaries of the maplens, without visible shading within the map lens, or both). In suchexample embodiments, however, one or more functions of the map lens mayoperate similarly to the features described below.

With or without a map lens superimposed, a map may be displayed with oneor more markers that indicate locations (e.g., geographic locations) onthe map. In some example embodiments, activation of the map lens (e.g.,causing the user interface to enter a “lens-mode”) causes the userinterface to display only those markers that are within the regionbounded by the map lens. Some example embodiments enable the user toselect the current region bounded by the map lens, in which case, theuser interface may omit all markers except those markers within thecurrently selected region, those markers within an unselected regionbounded by the map lens, or both. In situations where the user is movingthe map lens over unselected regions of the map, the user interface maydynamically show or hide markers on the map. This may have the effect ofpresenting to the user a visually uncluttered map in which markers areonly shown in the region in which the user has expressed some interest,as indicated by the user moving the map lens to that region of the map.Accordingly, the map lens may function as a user-friendly, visuallyintuitive, visually clean, easily learned, convenient, and efficienttool for discovering locations indicated by markers, as well asconcentrations and placements thereof, within the map displayed in theuser interface.

In addition, some example embodiments of the user interface may displayan information box that presents additional information about one ormore of the markers contained within a region (e.g., currently selectedor unselected) bounded by the map lens. In situations where the user ismoving the map lens over unselected regions of the map, the informationbox may be updated as the user moves the map lens around the map. Thismay have the effect of presenting to the user only that informationwhich is relevant to the markers in the region in which the user hasexpressed some interest, as indicated by the user moving the map lens tothat region of the map. Accordingly, the combination of the map lens andthe information box may function as a user-friendly, visually intuitive,visually clean, easily learned, convenient, and efficient tool forfiltering out undesired information and quickly finding informationabout locations within a particular region of the map.

FIG. 1 is a network diagram illustrating a network environment 100suitable for providing a map lens in a user interface, according to someexample embodiments. The network environment 100 includes a machine 110(e.g., a user interface machine), a database 115, and devices 130 and150, all communicatively coupled to each other via a network 190. Themachine 110 and the devices 130 and 150 may each be implemented in acomputer system, in whole or in part, as described below with respect toFIG. 22.

The machine 110, with or without the database 115, may form all or partof a network-based system 105, which may be a cloud-based system. Forexample, the network-based system 105 may be a cloud-based server systemthat provides one or more network-based services (e.g., informationservices, such as a travel shopping service) to the devices 130 and 150.

Also shown in FIG. 1 are users 132 and 152. One or both of the users 132and 152 may be a human user (e.g., a human being), a machine user (e.g.,a computer configured by a software program to interact with the device130), or any suitable combination thereof (e.g., a human assisted by amachine or a machine supervised by a human). The user 132 is not part ofthe network environment 100, but is associated with the device 130 andmay be a user of the device 130. For example, the device 130 may be adesktop computer, a vehicle computer, a tablet computer, a navigationaldevice, a portable media device, or a smart phone belonging to the user132. Likewise, the user 152 is not part of the network environment 100,but is associated with the device 150. As an example, the device 150 maybe a desktop computer, a vehicle computer, a tablet computer, anavigational device, a portable media device, or a smart phone belongingto the user 152.

Any of the machines, databases, or devices shown in FIG. 1 may beimplemented in a general-purpose computer modified (e.g., configured orprogrammed) by software to be a special-purpose computer to perform oneor more of the functions described herein for that machine, database, ordevice. For example, a computer system able to implement any one or moreof the methodologies described herein is discussed below with respect toFIG. 22. As used herein, a “database” is a data storage resource and maystore data structured as a text file, a table, a spreadsheet, arelational database (e.g., an object-relational database), a triplestore, a hierarchical data store, or any suitable combination thereof.Moreover, any two or more of the machines, databases, or devicesillustrated in FIG. 1 may be combined into a single machine, and thefunctions described herein for any single machine, database, or devicemay be subdivided among multiple machines, databases, or devices.

The network 190 may be any network that enables communication between oramong machines, databases, and devices (e.g., the server machine 110 andthe device 130). Accordingly, the network 190 may be a wired network, awireless network (e.g., a mobile or cellular network), or any suitablecombination thereof. The network 190 may include one or more portionsthat constitute a private network, a public network (e.g., theInternet), or any suitable combination thereof.

FIG. 2 is a block diagram illustrating components of the machine 110,which may be configured to provide a map lens in a user interface,according to some example embodiments. The machine 110 is shown asincluding a user interface module 210, a map module 220, a marker module230, and an information module 240, all configured to communicate witheach other (e.g., via a bus, shared memory, or a switch). Any one ormore of the modules described herein may be implemented using hardware(e.g., a processor of a machine) or a combination of hardware andsoftware. For example, any module described herein may configure aprocessor to perform the operations described herein for that module.Moreover, any two or more of these modules may be combined into a singlemodule, and the functions described herein for a single module may besubdivided among multiple modules. Furthermore, according to variousexample embodiments, modules described herein as being implementedwithin a single machine, database, or device may be distributed acrossmultiple machines, databases, or devices.

The user interface module 210 may be configured to provide a map lenswithin the user interface. For example, such provision of the map lenswithin the user interface may be performed by generating a userinterface with a map lens, updating a user interface with a map lens,communicating a user interface with a map lens (e.g., to the device130), or otherwise causing the user interface to display a map lens(e.g., via the device 130).

The user interface module 210 may additionally provide a user interfaceelement (e.g., information box, a pop-up window, or both) that presentsinformation on one or more markers included (e.g., encompassed) within aregion of a map, where the region is bounded by a map lens. For example,the map lens may take the form of a semi-transparent circle that issuperimposed (e.g., overlaid) on a geographical map that is displayedwithin the user interface. In such a case, the user interface module 210may cause the user interface to display a box (e.g., an information box)to present information about markers within the circle.

According to various example embodiments, the user interface module 210provides (e.g., generates or updates) a user interface as depicted inany of FIG. 3-17. Such providing of the user interface may be performedbased on information received from the map module 220, the marker module230, the information module 240, or any suitable combination thereof.The user interface module 210 may receive and process user input tomanipulate the map lens. Such user input may be received in the form ofcursor input that specifies motion (e.g., moving or hovering),activation (e.g., a click, a touch, or a button press), or both. Basedon such user input, the user interface module 210 may cause the userinterface to appear as illustrated in any of FIGS. 3-17.

The map module 220 may be configured to provide one or more geographicalmaps, in whole or in part, to the user interface module 210. The mapmodule 220 may access (e.g., read, request, retrieve, or obtain) suchgeographical maps from the database 115 or other data repository thatstores geographical maps. A geographical map may take the form of atwo-dimensional image (e.g., an image file), a three-dimensional model(e.g., a model file), or any suitable combination thereof (e.g., athree-dimensional terrain model textured with two-dimensional satelliteimages).

The marker module 230 may be configured to provide one or more markersto the user interface module 210. The provided markers may indicategeographical locations (e.g., within a geographical map provided by themap module 220). The marker module 230 may access such markers from thedatabase 115 or other data repository that stores information definingsuch markers. A marker may take the form of a data record thatcorrelates (e.g., establishes a correlation relationship or anassignment relationship) between a geographical location (e.g., a streetaddress or global positioning system (GPS) coordinates) and informationabout that geographical location. For example, a marker may correlate(e.g., by reference or by inclusion) the street address with adescription of a building (e.g., a hotel or other accommodation) locatedat that street address. As another example, a marker may correlate a setof GPS coordinates with a corresponding title or label (e.g., “ElCapitan” or “Scenic Lookout”).

The information module 240 may be configured to access (e.g., read,request, retrieve, or obtain) information about one or more geographicallocations identified by markers provided by the marker module 230, andprovide such information to the user interface module 210. Suchinformation may be accessed from the database 115 or other datarepository that stores such information. For example, a marker mayindicate geographical location of a hotel within a city, and informationmodule 240 may access a description (e.g., a review) of the hotel. Insuch an example, the description of the hotel may include an averagerating for the hotel (e.g., four out of five stars), a price per night(e.g., a minimum price, an average price, or both), a demographic groupto which the hotel caters (e.g., “family,” “business,” “romance,”“LGBT,” or “adventure”) or any suitable combination thereof.

FIG. 3 is a screenshot that illustrates a user interface displaying amap (e.g., geographical map) without a map lens, according to someexample embodiments. The user interface shows markers overlaid on themap. Some of the markers may be non-enumerated and shown asnon-enumerated dots (e.g., each representing an individual marker that,in turn, indicates the geographical location within the map). As shown,such non-enumerated dots may be shown in a single color (e.g., smallblue dots), although alternative example embodiments may present suchdots in multiple colors. In addition, enumerated markers may be shown asnumber-designated or letter-designated flags (e.g., in the shape offlags, pins, or balloons). As illustrated, such enumerated markers maytake the form of numbered blue balloons. A list of description summariesappears at the left side of the user interface. The descriptionsummaries in the list respectively correspond to some or all of themarkers (e.g., just the enumerated markers). The user interface mayenable the user 132 to activate a “lens-mode” and thereby initiatepresentation of a map lens. Activation of such a lens-mode may betriggered by a user input (e.g., clicking on a toggle button within theuser interface).

FIG. 4 is a screenshot that illustrates the user interface showing a maplens over an unselected and empty region within the map, according tosome example embodiments. The map lens may take the form of a shape(e.g., a circle) that is transparent, semitransparent, or opaque. Theregion bounded by the shape of the map lens is illustrated as beingunselected, which may be indicated by the map lens having a particularcolor (e.g., semitransparent gray). The region is also illustrated asbeing empty (e.g., containing no markers). The list of descriptionsummary still appears at the left side of the user interface. The userinterface may enable the user 132 to submit a user input (e.g., cursorinput) for moving the map lens elsewhere within the user interface,select the region bounded by the map lens, or both.

FIG. 5 is a screenshot that illustrates the user interface showing themap lens over a currently selected region within the map, with a cursorhovering over a default position within the currently selected region,according some example embodiments. The region bounded by the shape(e.g., circular) of the map lens is illustrated as being selected (e.g.,by the user 132), which may be indicated by the map lens having adistinct color (e.g., semitransparent blue). The region is alsoillustrated as containing one or more markers. As illustrated, thesemarkers include non-enumerated markers (e.g., small blue dots) andenumerated markers (e.g., numbered balloons). The list of descriptionsummaries on the left side of the user interface has been updated topresent information on some or all of the individual markers in theregion (e.g., just the enumerated markers, or just the top tenenumerated markers, as ranked by rating, price, demographic category, orany suitable combination thereof). The user interface also includes aninformation box that presents aggregated information (e.g., ratings,prices, or demographics) on some or all of the markers encompassed bythe currently selected region within the map. FIG. 5 also shows a cursor(e.g., in the shape of a hand) hovering over a default position (e.g.,the center of the currently selected region). In some exampleembodiments, the user interface may place the cursor at its defaultposition in response to the selection of the currently selected region.

FIG. 6 is a screenshot that illustrates the user interface showing themap lens over the currently selected region of the map, with the cursorhovering over an enlarged marker within the currently selected region,according to some example embodiments. The region bounded by the maplens is illustrated as being selected (e.g., colored semitransparentblue). Since this region is selected and the cursor (e.g., in the shapeof a hand) is within the region, the map lens has stopped moving overthe map within the user interface, and user input (e.g., cursor input)enables the user 132 to hover the cursor over one or more markerscontained in the region (e.g., a marker labeled as “2”). As illustrated,the enumerated marker over which the cursor hovers is enlarged in size(e.g., a blue balloon that is bigger than its neighboring blueballoons), which may indicate that the enlarged marker is available forselecting (e.g., to obtain additional information on that enlargedmarker). The list of description summaries on the left side of the userinterface continues to present the information on some or all of theindividual markers (e.g., as updated in FIG. 5). The information boxcontinues to present aggregated information on the markers within thecurrently selected region of the map.

FIG. 7 is a screenshot that illustrates the user interface showing thecurrently selected region of the map, with the map lens hovering over anunselected empty region of the map, according to some exampleembodiments. The currently selected region is indicated by the distinctcolor (e.g., semitransparent blue) applied to the region when the regionwas selected (e.g., as shown in FIG. 5). As previously noted, thecurrently selected region is shown as containing markers (e.g.,non-enumerated markers and enumerated markers). Based on user input(e.g., cursor input), however, the user interface shows the map lensover an unselected region within the map, which may indicate thatanother region (e.g., bounded by the shape of the map lens) is availablefor selection (e.g., with a corresponding deselection of the currentlyselected region). In the example shown, the map lens is over an emptyregion (e.g., over water and containing no markers). The list ofdescription summaries on the left side of the user interface continuesto present the information on the enumerated markers (e.g., as updatedin FIG. 5) individually. The information box previously shown in FIG. 6,however, has been omitted from the user interface (e.g., in response tothe map lens moving over an empty region that is devoid of markers).

FIG. 8 is a screenshot that illustrates the user interface showing acurrently selected region of the map, with the map lens hovering over anunselected non-empty region of the map (e.g., a region populated by atleast one marker), according to some example embodiments. As before, thecurrently selected region is indicated by a distinct color (e.g.,semitransparent blue) and is shown as containing markers (e.g.,non-enumerated and enumerated). Based on user input, though, the userinterface shows a map lens over an unselected region within the map,which may be indicated by a particular color (e.g., semitransparentgray), thus indicating a further region (e.g., bounded by the map lens)is available for selection (e.g., with a corresponding deselection ofthe currently selected region). In the example shown, the map lens isover a non-empty region (e.g., a region populated with several markers).The list of description summaries on the left side of the user interfacepresents information on some or all of the individual markers shown inthe currently selected region of the map (e.g., just the enumeratedmarkers).

Moreover, the user interface displays an information box. In someexample embodiments, the information box presents aggregated informationabout some or all of the markers (e.g., only the enumerated markers, oronly the top five enumerated markers, as ranked by rating, price,demographic group, or any suitable combination thereof) that arecontained within the unselected non-empty region of the map (e.g., theregion available for selection). In other example embodiments, theinformation box presents information about some or all of the markers(e.g., only the enumerated markers) that are contained within thecurrently selected region.

FIGS. 9-15 are screenshots that illustrate the user interface showingthe map lens in motion over unselected regions of the map, with aninformation box presenting automatically updated information on thecurrent unselected region bounded by the map lens, according to someexample embodiments. FIGS. 9-15 may be viewed sequentially asillustrating a path taken by the map lens (e.g., under control of theuser 132) across the displayed map. In FIGS. 9-15, there is no currentlyselected region of the map, and the user interface displays markers on amap without regard for any selection of any particular region. Dependingon various example embodiments, the displayed markers may includeenumerated markers (e.g., numbered blue balloons), non-enumeratedmarkers (e.g., small blue dots), or both.

As shown in FIGS. 9-15, based on the map lens being positioned over anunselected region of the map, those markers within the unselected region(e.g., bounded by the map lens) may be displayed with a distinctiveappearance (e.g., small orange dots or squares). For example, thedistinctive appearance may be applied to these markers within theunselected region to indicate that these markers lie within theunselected region, to indicate that the information box presentsinformation about only these markers, or both.

In response to a boundary of the map lens being moved over a marker toinclude the marker within the region bounded by the map lens, the userinterface may change the appearance of the marker from its defaultappearance (e.g., a small blue dot) to the distinctive appearance (e.g.,a small orange dot). In response to a boundary of the map lens beingmoved over a marker to exclude the marker from the region bounded by themap lens, the user interface may change the appearance of the markerfrom the distinctive appearance (e.g., a small orange dot) to thedefault appearance of the marker (e.g., a small blue dot).

In response to one or more markers entering or leaving the regionbounded by the map lens, as the user 132 moves the map lens over themap, the user interface may update the information box to presentaggregated information about those markers contained in the regionbounded by the map lens. As shown in FIGS. 9-15, the information box mayupdate information such as one or more neighborhood names (e.g., “TheMarina/Pacific Heights,” “Russian Hill/Nob Hill,” “South ofMarket/Downtown,” “South of Market/Union Square,” or “FinancialDistrict/Union Square”), a number of markers (e.g., a number ofbuildings, such as hotels) included in the region under the map lens,ratings for the markers (e.g., individual or aggregated hotel ratings),prices for the markers (e.g., minimum or average prices per night forhotel stays), demographic groups for the markers (e.g., “family,”“business,” “romance,” “LGBT,” or “adventure”), or any suitablecombination thereof.

In some example embodiments, the information box is a user interfaceelement that enables the user 132 to select one or more demographicgroups for the markers. In response to such a selection, the userinterface updates the information box with the number of markers thatmatch at least one selected demographic group, as well as ratings andprices for those matching markers. In certain example embodiments,selection of one or more demographic groups also omits non-matchingmarkers from being displayed within the region bounded by the map lens,within the remainder of the displayed map, or both.

As illustrated in FIGS. 9-15, a list of description summaries on theleft side of the user interface presents information on some or all ofthe individual markers shown in the user interface (e.g., just theenumerated markers or just the top ten enumerated markers, as ranked byrating, price, demographic category, or any suitable combinationthereof). In the example embodiment shown, the user interface does notupdate this list as the map lens moves over various unselected regionsof the map, because no particular region of the map is selected and theuser interface is configured to update this list in response toselection of a particular region of the map.

FIG. 16 is a screenshot that illustrates the user interface showing themap lens over a currently selected region of the map, with a cursorhovering over an enlarged marker within the currently selected region,according to some example embodiments. This is similar to the situationdescribed above with respect to FIG. 6. The region bounded by the maplens is illustrated as being selected (e.g., colored semitransparentblue). Since this region is selected and the cursor (e.g., in the shapeof a hand) is within the region, the map lens is stationary over the mapwithin the user interface, and user input (e.g., cursor input) enablesthe user 132 to hover the cursor over one or more markers shown in theregion (e.g., a marker labeled as “1”). As illustrated, the enumeratedmarker over which the cursor hovers is enlarged in size (e.g., a blueballoon that is bigger than its neighboring blue balloons), which mayindicate that the enlarged marker is available for selecting (e.g., toobtain additional information about that enlarged marker). The list ofdescription summaries on the left side of the user interface has beenupdated by the user interface to present information on some or all ofthe individual markers within the currently selected region (e.g., justthe enumerated markers, or the top ten markers regardless ofenumeration). The user interface also shows an information box topresent aggregated information on the markers within the currentlyselected region of the map.

FIG. 17 is a screenshot that illustrates the user interface showing themap lens over the currently selected region of the map, with the cursorover a currently selected marker and with a pop-up window presentinginformation on the currently selected marker, according to some exampleembodiments. This situation may arise where the user 132 has used atouch or a click to select the enumerated marker over which the cursorhovered in FIG. 16. In response to this marker being selected, the userinterface may display a pop-up window that presents information on thecurrently selected marker. The pop-up window is shown as presentinginformation such as a title of the marker (e.g., “Parc 55 Wyndham SanFrancisco”), a neighborhood name for the marker (e.g., “Union Square”),an image for the marker (e.g., a photograph from a hotel at the locationindicated by the marker), a rating for the marker (e.g., four out offive stars), a number of reviews for the marker (e.g., 2230 reviews), aprice for the marker (e.g., “$263”), a link to an electronic storefrontfrom which the user 132 may make a purchase or reservation thatreferences the marker (e.g., “Book on Orbitz”), and a control that isoperable by the user 132 to display additional information for themarker (e.g., “Details” button).

The list of description summaries on the left side of the user interfacecontinues to present information on some or all of the individualmarkers within the currently selected region (e.g., just the enumeratedmarkers or the top ten markers regardless of enumeration). In theexample illustrated, one of the description summaries corresponds to(e.g., matches) the currently selected marker and is therefore visuallyhighlighted (e.g., shown enlarged and with a distinctive white boundary)within the user interface. The user interface may also omit aninformation box that presents aggregated information on the markerswithin the currently selected region of the map, for example, to avoidvisually cluttering the user interface.

FIGS. 18-21 are flowcharts illustrating operations of the machine 110 inperforming a method 1800 of providing the map lens in the userinterface, according to some example embodiments. Operations in themethod 1800 may be performed using modules described above with respectto FIG. 2. As shown in FIG. 18, the method 1800 includes operations1810, 1820, 1822, 1824, and 1830.

In operation 1810, the user interface module 210 provides the userinterface without a map lens (e.g., as illustrated in FIG. 3). The userinterface may display a map (e.g., geographical map), with or withoutone or more markers that indicate locations on the map. Provision (e.g.,provisioning) of the user interface may include generating the userinterface, displaying the user interface, or otherwise causing the userinterface to be displayed (e.g., on the device 130 for presentation tothe user 132).

In operation 1820, the user interface module 210 provides the userinterface with a map lens (e.g., as illustrated in any of FIG. 4-17)superimposed (e.g., overlaid) on the map displayed in the userinterface. The providing of the user interface with the map lens may beperformed in response to activation of a “lens-mode”which initiatespresentation of the map lens within the user interface. For example, theuser interface module 210 may receive a user input (e.g., a click ortouch on a toggle button within the user interface) that indicates arequest to trigger the lens-mode and begin use of the map lens.

In operation 1822, the user interface module 210 receives a user input(e.g., cursor input) to manipulate the map lens around user interface(e.g., move the map lens over the map displayed in the user interface).For example, the received user input may specify movement (e.g.,motion), non-movement (e.g., hover), activation (e.g., touch or click),or any suitable combination thereof, with respect to the user interface.

In operation 1824, the user interface module 210 causes the userinterface to display the map lens according to the user input receivedin operation 1822. According to various example embodiments, the userinterface module 210 causes the user interface to take on one or moreappearances illustrated in one or more of FIGS. 3-17. Hence, operation1824 may involve generating (e.g., regenerating) or updating the userinterface provided in operation 1820. Operations 1822 and 1824 may berepeated (e.g., continuously) as the user interface module 210 monitorsthe user input (e.g., submitted by the user 132 from the device 130) andgenerates or updates the user interface in accordance with the monitoreduser input. Further details for operation 1824 are described below withrespect to FIG. 19-21.

In operation 1830, the user interface module 210 provides the userinterface without the map lens (e.g., as illustrated in FIG. 3). Theuser interface may continue to display the map, with or without one ormore markers. The providing of the user interface without the map lensmay be performed in response to deactivation of a “lens-mode” thatinitiated presentation of the map lens within the user interface. Forexample, the user interface module 210 may receive user input (e.g., aclick or touch on a toggle button within the user interface) thatindicates a request to cancel the lens-mode and cease use of the maplens.

As shown in FIG. 19, one or more of operations 1910, 1920, 1930, 1940,and 1950 may be performed as part (e.g., a precursor task, a subroutine,or portion) of operation 1824. Any one or more of these operations1910-1950 may be performed in response to some or all of the user inputreceived in operation 1822.

In operation 1910, the user interface module 210 causes the userinterface to show the map lens over an unselected empty region withinthe map. For example, the user interface module 210 may update, orotherwise cause, the user interface to take on the appearanceillustrated in FIG. 4.

In operation 1920, the user interface module 210 causes the userinterface to show the map lens over a currently selected region withinthe map, with a cursor hovering over a default position within thecurrently selected region. For example, the user interface module 210may update, or otherwise cause, the user interface to take on theappearance illustrated in FIG. 5. This situation may arise where theuser 132 has used a touch or a click to select the currently selectedregion (e.g., after moving the map lens to indicate this region on themap).

In operation 1930, the user interface module 210 causes the userinterface to show the map lens over a currently selected region withinthe map, with a cursor (e.g., the same cursor from operation 1920)hovering over an enlarged marker within the currently selected region.For example, the user interface module 210 may update, or otherwisecause, the user interface to take on the appearance illustrated in FIG.6. This situation may arise where the user 132 has moved the cursor overthe marker, and the user interface has enlarged the marker in responseto the cursor being moved over the marker.

In operation 1940, the user interface module 210 causes the userinterface to show a currently selected region of the map, with the maplens hovering over a separate and unselected empty region of the map.The unselected empty region of the map may be a region that is boundedby the shape of the map lens and is devoid of any displayed markers. Forexample, the user interface module 210 may update, or otherwise cause,the user interface to take on the appearance illustrated in FIG. 7. Thissituation may arise where the user 132 has moved the cursor outside ofthe currently selected region of the map, and the user interface hasreplaced the cursor with a map lens (e.g., an additional map lens) toindicate that a different region of the map may be selected next (e.g.,all while still displaying the currently selected region of the map).

In operation 1950, the user interface module 210 causes the userinterface to show a currently selected region of the map, with the maplens hovering over a separate and unselected non-empty region of themap. The unselected non-empty region of the map may be a region that isbounded by the shape of the map lens and is populated by one or moredisplayed markers. For example, the user interface module 210 mayupdate, or otherwise cause, the user interface to take on the appearanceillustrated in FIG. 8.

As shown in FIG. 20, one or more of operations 2010, 2012, 2020, 2030,2032, and 2040 may be performed as part (e.g., a precursor task, asubroutine, or portion) of operation 1824. Any one or more of theseoperations 2010-2040 may be performed in response to some or all of theuser input received in operation 1822.

In operation 2010, the user interface module 210 causes the userinterface to show the map lens over an unselected region within the map(e.g., stationary and not moving with respect to the displayed map). Incertain example embodiments, the map module 220 accesses the map (e.g.,from the database 115) and provides all or part of the map to the userinterface module 210 (e.g., for use in generating or updating the userinterface), and the user interface module 210 performs operation 2010based on the map provided by the map module 220. In various exampleembodiments, the marker module 230 accesses one or more markers (e.g.,from the database 115) and provides them to the user interface module210 (e.g., for use in generating or updating the user interface), andthe user interface module 210 performs operation 2010 based on the oneor more markers provided by the marker module 230. In hybrid exampleembodiments, both the map module 220 and the marker module 230 providetheir respective contributions to the user interface module 210 duringoperation 2010 (e.g., for use in generating or updating the userinterface). Markers (e.g., enumerated or non-enumerated) may bedisplayed within the unselected region (e.g., with a distinctiveappearance), outside the unselected region (e.g., with the defaultappearance), or both. For example, the user interface module 210 mayupdate, or otherwise cause, the user interface to show the map lens withthe appearance illustrated in FIG. 9. This situation may arise inresponse to the user 132 initiating a lens-mode within the userinterface (e.g., by activating a corresponding toggle switch provided bythe user interface).

In operation 2012, the information module 240 accesses (e.g., reads,requests, retrieves, or obtains) information about one or moregeographical locations identified by the one or more markers provided bythe marker module 230, and the information module 240 may provide suchinformation to the user interface module 210 (e.g., for use ingenerating or updating the user interface). Such information may beaccessed from the database 115, or other suitable data repository (e.g.,accessible via the network 190).

In operation 2020, the user interface module 210 causes the userinterface to display a box (e.g., an information box or other suitableuser interface element) that presents information on the currentunselected region over which the map lens is shown. The box may presentinformation about one or more markers shown in the unselected region.For example, the user interface module 210 may update, or otherwisecause, the user interface to present the box with the appearanceillustrated in FIG. 9.

According to various example embodiments, as the user 132 causes the maplens to move across the displayed map, operations 2030, 2032, and 2040may be performed in response to motion of the map lens under control ofthe user 132. In operation 2030, the user interface module 210 causesthe user interface to show the map lens in motion (e.g., sliding ormoving) over an unselected region within the map. In certain exampleembodiments, the map module 220 accesses the map (e.g., from thedatabase 115) and provides all or part of the map to the user interfacemodule 210 (e.g., for use in updating the user interface), and the userinterface module 210 performs operation 2010 based on the map providedby the map module 220. In various example embodiments, the marker module230 accesses one or more markers (e.g., from the database 115) andprovides them to the user interface module 210 (e.g., for use inupdating the user interface), and the user interface module 210 performsoperation 2030 based on the one or more markers provided by the markermodule 230. In hybrid example embodiments, both the map module 220 andthe marker module 230 provide their respective contributions to the userinterface module 210 during operation 2010 (e.g., for use in updatingthe user interface). Markers (e.g., enumerated or non-enumerated) may bedisplayed within the unselected region (e.g., with a distinctiveappearance), outside the unselected region (e.g., with the defaultappearance), or both. For example, the user interface module 210 mayupdate, or otherwise cause, the user interface to show the map lens withany of the appearances illustrated in FIGS. 10-15. This situation mayarise in response to the user 132 initiating movement of the map lenswithin the user interface (e.g., by providing cursor input thatindicates on-screen movement).

In operation 2032, the information module 240 accesses (e.g., reads,requests, retrieves, or obtains) information about one or moregeographical locations identified by the one or more markers provided bythe marker module 230, and the information module 240 may provide suchinformation to the user interface module 210 (e.g., for use in updatingthe user interface). Such information may be accessed from the database115, or other suitable data repository (e.g., accessible via the network190).

In operation 2040, the user interface module 210 causes the userinterface to update the box (e.g., the information box or other suitableuser interface element) that presents information on the currentunselected region over which the map lens is shown. The box may presentupdated information about one or more markers shown in the unselectedregion, which markers may themselves be updated according to movement ofthe map lens. For example, the user interface module 210 may update, orotherwise cause, the user interface to present the box with any of theappearances illustrated in FIGS. 10-15.

As shown in FIG. 20, operations 2030, 2032, and 2040 may be repeated(e.g., continuously) as the user interface module 210 monitors the userinput (e.g., submitted by the user 132 from the device 130) andgenerates or updates the user interface in accordance with the monitoreduser input (e.g., specifying continuous motion of the map lens).Likewise, operations 2010, 2012, and 2020 may be repeated (e.g.,intermittently) as the user interface module 210 monitors the user inputand generates or updates the user interface in accordance with themonitored user input (e.g., specifying a stationary hover of the maplens).

As shown in FIG. 21, one or more of operations 1930, 2142, and 2150 maybe performed as part (e.g., a precursor task, a subroutine, or portion)of operation 1824. Any one or more of these operations 1930, 2142, and2150 may be performed in response to some or all of the user inputreceived in operation 1822.

In operation 1930, as noted above, the user interface module 210 causesthe user interface to show the map lens over a currently selected regionwithin the map, with a cursor (e.g., the same cursor from operation1920) hovering over an enlarged marker within the currently selectedregion. For example, the user interface module 210 may update, orotherwise cause, the user interface to take on the appearanceillustrated in FIG. 16.

In operation 2142, the information module 240 accesses (e.g., reads,requests, retrieves, or obtains) information about that geographicallocation identified by the enlarged marker, and the information module240 may provide such information to the user interface module 210 (e.g.,for use in generating or updating the user interface).

In operation 2150, the user interface module 210 causes the userinterface to show the map lens over the currently selected region of themap, with the cursor hovering over the currently selected marker (e.g.,the enlarged marker) within the currently selected region, and with apop-up window that presents information on the currently selectedmarker. For example, the user interface module 210 may update, orotherwise cause, the user interface to take on the appearanceillustrated in FIG. 17. This situation may arise where the user 132 hasused a touch or a click to select the enumerated marker over which thecursor hovered in FIG. 16.

According to various example embodiments, one or more of themethodologies described herein may facilitate provision of the map lenswithin the user interface. Moreover, one or more of the methodologiesdescribed herein may facilitate presentation of a visually unclutteredmap in which markers are only shown in the region in which the user 132has expressed some interest, as indicated by the user 132 moving the maplens to that region of the map. Hence, one or more the methodologiesdescribed herein may facilitate provision of a user-friendly, visuallyintuitive, visually clean, easily learned, convenient, and efficienttool for discovering locations indicated by markers, as well asconcentrations and placements thereof, within the map displayed in theuser interface.

In addition, one or more the methodologies described herein mayfacilitate a presentation of only that information which is relevant tothe markers in the region in which the user 132 has expressed someinterest, as indicated by the user 132 moving the map lens to thatregion of the map. Accordingly, the presently described map lens andinformation box may support a user-friendly, visually intuitive,visually clean, easily learned, convenient, and efficient tool forfiltering out undesired information and quickly finding informationabout locations within a particular region of the map.

When these effects are considered in aggregate, one or more of themethodologies described herein may obviate a need for certain efforts orresources that otherwise would be involved in provision of a map lenswithin a user interface. Efforts expended by a user in filtering outundesired information and quickly find the information about locationswithin a particular region of a map may be reduced by one or more of themethodologies described herein. Computing resources used by one or moremachines, databases, or devices (e.g., within the network environment100) may similarly be reduced. Examples of such computing resourcesinclude processor cycles, network traffic, memory usage, data storagecapacity, power consumption, and cooling capacity.

FIG. 22 is a block diagram illustrating components of a machine 2200(e.g., machine 110 or device 130), according to some exampleembodiments, able to read instructions from a machine-readable medium(e.g., a machine-readable storage medium, a computer-readable storagemedium, or any suitable combination thereof) and perform any one or moreof the methodologies discussed herein, in whole or in part.Specifically, FIG. 22 shows a diagrammatic representation of the machine2200 in the example form of a computer system and within whichinstructions 2224 (e.g., software, a program, an application, an applet,an app, or other executable code) for causing the machine 2200 toperform any one or more of the methodologies discussed herein may beexecuted, in whole or in part. In alternative embodiments, the machine2200 operates as a standalone device or may be connected (e.g.,networked) to other machines. In a networked deployment, the machine2200 may operate in the capacity of a server machine or a client machinein a server-client network environment, or as a peer machine in adistributed (e.g., peer-to-peer) network environment. The machine 2200may be a server computer, a client computer, a personal computer (PC), atablet computer, a laptop computer, a netbook, a set-top box (STB), apersonal digital assistant (PDA), a cellular telephone, a smartphone, aweb appliance, a network router, a network switch, a network bridge, orany machine capable of executing the instructions 2224, sequentially orotherwise, that specify actions to be taken by that machine. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include a collection of machines that individually orjointly execute the instructions 2224 to perform all or part of any oneor more of the methodologies discussed herein.

The machine 2200 includes a processor 2202 (e.g., a central processingunit (CPU), a graphics processing unit (GPU), a digital signal processor(DSP), an application specific integrated circuit (ASIC), aradio-frequency integrated circuit (RFIC), or any suitable combinationthereof), a main memory 2204, and a static memory 2206, which areconfigured to communicate with each other via a bus 2208. The machine2200 may further include a graphics display 2210 (e.g., a plasma displaypanel (PDP), a light emitting diode (LED) display, a liquid crystaldisplay (LCD), a projector, or a cathode ray tube (CRT)). The machine2200 may also include an alphanumeric input device 2212 (e.g., akeyboard), a cursor control device 2214 (e.g., a mouse, a touchpad, atrackball, a joystick, a motion sensor, or other pointing instrument), astorage unit 2216, a signal generation device 2218 (e.g., a speaker),and a network interface device 2220.

The storage unit 2216 includes a machine-readable medium 2222 on whichis stored the instructions 2224 embodying any one or more of themethodologies or functions described herein. The instructions 2224 mayalso reside, completely or at least partially, within the main memory2204, within the processor 2202 (e.g., within the processor's cachememory), or both, during execution thereof by the machine 2200.Accordingly, the main memory 2204 and the processor 2202 may beconsidered as machine-readable media. The instructions 2224 may betransmitted or received over a network 2226 (e.g., network 190) via thenetwork interface device 2220.

As used herein, the term “memory” refers to a machine-readable mediumable to store data temporarily or permanently and may be taken toinclude, but not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, and cache memory. While themachine-readable medium 2222 is shown in an example embodiment to be asingle medium, the term “machine-readable medium” should be taken toinclude a single medium or multiple media (e.g., a centralized ordistributed database, or associated caches and servers) able to storeinstructions. The term “machine-readable medium” shall also be taken toinclude any medium, or combination of multiple media, that is capable ofstoring instructions for execution by a machine (e.g., machine 2200),such that the instructions, when executed by one or more processors ofthe machine (e.g., processor 2202), cause the machine to perform any oneor more of the methodologies described herein. Accordingly, a“machine-readable medium” refers to a single storage apparatus ordevice, as well as “cloud-based” storage systems or storage networksthat include multiple storage apparatus or devices. The term“machine-readable medium” shall accordingly be taken to include, but notbe limited to, one or more tangible data repositories in the form of asolid-state memory, an optical medium, a magnetic medium, or anysuitable combination thereof.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A “hardware module” is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain physical manner. In various exampleembodiments, one or more computer systems (e.g., a standalone computersystem, a client computer system, or a server computer system) or one ormore hardware modules of a computer system (e.g., a processor or a groupof processors) may be configured by software (e.g., an application orapplication portion) as a hardware module that operates to performcertain operations as described herein.

In some embodiments, a hardware module may be implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module may include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module may be a special-purpose processor, such as a fieldprogrammable gate array (FPGA) or an ASIC. A hardware module may alsoinclude programmable logic or circuitry that is temporarily configuredby software to perform certain operations. For example, a hardwaremodule may include software encompassed within a general-purposeprocessor or other programmable processor. It will be appreciated thatthe decision to implement a hardware module mechanically, in dedicatedand permanently configured circuitry, or in temporarily configuredcircuitry (e.g., configured by software) may be driven by cost and timeconsiderations.

Accordingly, the phrase “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where a hardwaremodule comprises a general-purpose processor configured by software tobecome a special-purpose processor, the general-purpose processor may beconfigured as respectively different special-purpose processors (e.g.,comprising different hardware modules) at different times. Software mayaccordingly configure a processor, for example, to constitute aparticular hardware module at one instance of time and to constitute adifferent hardware module at a different instance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications may be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodiments inwhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein may be at least partiallyprocessor-implemented, a processor being an example of hardware. Forexample, at least some of the operations of a method may be performed byone or more processors or processor-implemented modules. Moreover, theone or more processors may also operate to support performance of therelevant operations in a “cloud computing” environment or as a “softwareas a service” (SaaS). For example, at least some of the operations maybe performed by a group of computers (as examples of machines includingprocessors), with these operations being accessible via a network (e.g.,the Internet) and via one or more appropriate interfaces (e.g., anapplication program interface (API)).

The performance of certain operations may be distributed among the oneor more processors, not only residing within a single machine, butdeployed across a number of machines. In some example embodiments, theone or more processors or processor-implemented modules may be locatedin a single geographic location (e.g., within a home environment, anoffice environment, or a server farm). In other example embodiments, theone or more processors or processor-implemented modules may bedistributed across a number of geographic locations.

Some portions of the subject matter discussed herein may be presented interms of algorithms or symbolic representations of operations on datastored as bits or binary digital signals within a machine memory (e.g.,a computer memory). Such algorithms or symbolic representations areexamples of techniques used by those of ordinary skill in the dataprocessing arts to convey the substance of their work to others skilledin the art. As used herein, an “algorithm” is a self-consistent sequenceof operations or similar processing leading to a desired result. In thiscontext, algorithms and operations involve physical manipulation ofphysical quantities. Typically, but not necessarily, such quantities maytake the form of electrical, magnetic, or optical signals capable ofbeing stored, accessed, transferred, combined, compared, or otherwisemanipulated by a machine. It is convenient at times, principally forreasons of common usage, to refer to such signals using words such as“data,” “content,” “bits,” “values,” “elements,” “symbols,”“characters,” “terms,” “numbers,” “numerals,” or the like. These words,however, are merely convenient labels and are to be associated withappropriate physical quantities.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or any suitable combination thereof), registers, orother machine components that receive, store, transmit, or displayinformation. Furthermore, unless specifically stated otherwise, theterms “a” or “an” are herein used, as is common in patent documents, toinclude one or more than one instance. Finally, as used herein, theconjunction “or” refers to a non-exclusive “or,” unless specificallystated otherwise.

What is claimed is:
 1. A method comprising: causing; by one or moreprocessors of a machine; display of a map with a movable changeableshape superimposed on the map; determining, by one or more processors ofthe machine, first polygonal boundaries of the movable changeable shapeby setting the first polygonal boundaries to match a first set offeatures displayed in the map; receiving, by one or more processors ofthe machine, an activation input that indicates selection of a firstregion defined by the first polygonal boundaries of the movablechangeable shape within the map; causing, by one or more processors ofthe machine, display of a first location marker within the selectedfirst region whose selection was indicated by the activation input;receiving, by one or more processors of the machine, a motion input thatspecifies a movement of the movable changeable shape; determining, byone or more processors of the machine, second polygonal boundaries ofthe movable changeable shape by setting the second polygonal boundariesto match a second set of features displayed in the map based on themovement of the moveable changeable shape, the determined secondpolygonal boundaries of the movable changeable shape defining anon-selected second region within the map, the non-selected secondregion defined by the moved and changed movable changeable shape sharingno portion with the selected first region whose selection was indicatedby the activation input; and causing, by one or more processors of themachine, contemporaneous display of the first location marker within theselected first region and a second location marker within thenon-selected second region, the non-selected second region defined bythe moved and changed movable changeable shape being denoted asnon-selected by being colored differently from the selected first regionwhose selection was indicated by the activation input.
 2. The method ofclaim 1, wherein: prior to the movement of the movable changeable shape,the movable changeable shape defines the selected first region byencompassing the selected first region; and after the movement of themovable changeable shape, the moved and changed movable changeable shapedefines the non-selected second region by encompassing the non-selectedsecond region.
 3. The method of claim 1, wherein: the first locationmarker in the selected first region of the map is colored differentlyfrom the second location marker in the non-selected second region of themap.
 4. The method of claim 1, wherein: the first location marker in theselected first region of the map is shaped differently than the secondlocation marker in the non-selected second region of the map.
 5. Themethod of claim 1, wherein: the first location marker in the selectedfirst region is enumerated; and the second location marker in thenon-selected second region is non-enumerated.
 6. The method of claim 1,wherein: the selected first region of the map has a semitransparentfirst color; and the non-selected second region of the map has asemitransparent second color that is distinct from the semitransparentfirst color.
 7. The method of claim 1, wherein: during thecontemporaneous display of the first location marker within the selectedfirst region and the second location marker within the non-selectedsecond region, no location markers are displayed outside the selectedfirst region and the non-selected second region.
 8. The method of claim1, wherein: the determining of the first polygonal boundaries of themovable changeable shape determines a first irregular polygon based onthe first set of features displayed in the map; and the determining ofthe second polygonal boundaries of the movable changeable shapedetermines a second irregular polygon based on the second set offeatures displayed in the map.
 9. The method of claim 8, wherein: thedetermining of the first irregular polygon is based on a first locationof a first landmark represented within the map; and the determining ofthe second irregular polygon is based on a second location of a secondlandmark represented within the map.
 10. The method of claim 8, wherein:the determining of the first irregular polygon is based on a firstlocation of a first topographical indicator represented within the map;and the determining of the second irregular polygon is based on a secondlocation of a second topographical indicator represented within the map.11. The method of claim 8, wherein: the determining of the firstirregular polygon is based on a first location of a first shorelinerepresented within the map; and the determining of the second irregularpolygon is based on a second location of a second shoreline representedwithin the map.
 12. The method of claim 8, wherein: the determining ofthe first irregular is based on a first location of a first city borderrepresented within the map; and the determining of the second irregularpolygon is based on a second location of a second city borderrepresented within the map.
 13. The method of claim 8, wherein: thedetermining of the first irregular polygon is based on a first locationof a first postal code border represented within the map; and thedetermining of the second irregular polygon is based on a secondlocation of a second postal code border represented within the map. 14.The method of claim 8, wherein: the determining of the first irregularpolygon is based on a first location of a first road represented withinthe map; and the determining of the second irregular polygon is based ona second location of a second road represented within the map.
 15. Themethod of claim 14, wherein: the determining of the first irregularpolygon based on the first location of the first road includes selectingthe first road based on a first comparison of a number of lanes of thefirst road to a threshold number of lanes; and the determining of thesecond irregular polygon based on the second location of the second roadincludes selecting the second road based on a second comparison of anumber of lanes of the second road to the threshold number of lanes. 16.The method of claim 14, wherein: the determining of the first irregularpolygon based on the first location of the first road includes selectingthe first road based on a first comparison of a traffic level of thefirst road to a threshold traffic level; and the determining of thesecond irregular polygon based on the second location of the second roadincludes selecting the second road based on a second comparison of atraffic level of the second road to the threshold traffic level.
 17. Anon-transitory machine-readable storage medium comprising instructionsthat, when executed by one or more processors of a machine, cause themachine to perform operations comprising: causing display of a map witha movable changeable shape superimposed on the map; determining firstpolygonal boundaries of the movable changeable shape by setting thefirst polygonal boundaries to match a first set of features displayed inthe map; receiving an activation input that indicates selection of afirst region defined by the first polygonal boundaries of the movablechangeable shape within the map; causing display of a first locationmarker within the selected first region whose selection was indicated bythe activation input; receiving a motion input that specifies a movementof the movable changeable shape; determining second polygonal boundariesof the movable changeable shape by setting the second polygonalboundaries to match a second set of features displayed in the map basedon the movement of the moveable changeable shape, the determined secondpolygonal boundaries of the movable changeable shape defining anon-selected second region within the map, the non-selected secondregion defined by the moved and changed movable changeable shape sharingno portion with the selected first region whose selection was indicatedby the activation input; and causing contemporaneous display of thefirst location marker within the selected first region and a secondlocation marker within the non-selected second region, the non-selectedsecond region defined by the moved and changed movable changeable shapebeing denoted as non-selected by being colored differently from theselected first region whose selection was indicated by the activationinput.
 18. The non-transitory machine-readable storage medium of claim17, wherein: prior the movement of the movable changeable shape, themovable changeable shape defines the selected first region byencompassing the selected first region; and after the movement of themovable changeable shape, the moved and changed movable changeable shapedefines the non-selected second region by encompassing the non-selectedsecond region.
 19. A system comprising: one or more processors; and amemory storing instructions that, when executed by at least oneprocessor among the one or more processors, cause the system to performoperations comprising: causing display of a map with a movablechangeable shape superimposed on the map; determining first polygonalboundaries of the movable changeable shape by setting the firstpolygonal boundaries to match a first set of features displayed in themap; receiving an activation input that indicates selection of a firstregion defined by the first polygonal boundaries of the movablechangeable shape within the map; causing display of a first locationmarker within the selected first region whose selection was indicated bythe activation input; receiving a motion input that specifies a movementof the movable changeable shape; determining second polygonal boundariesof the movable changeable shape by setting the second polygonalboundaries to match a second set of features displayed in the map basedon the movement of the moveable changeable shape, the determined secondpolygonal boundaries of the movable changeable shape defining anon-selected second region within the map, the non-selected secondregion defined by the moved and changed movable changeable shape sharingno portion with the selected first region whose selection was indicatedby the activation input; and causing contemporaneous display of thefirst location marker within the selected first region and a secondlocation marker within the non-selected second region, the non-selectedsecond region defined by the moved and changed movable changeable shapebeing denoted as non-selected by being colored differently from theselected first region whose selection was indicated by the activationinput.
 20. The system of claim 19, wherein: prior to the movement of themovable changeable shape, the movable changeable shape defines theselected first region by encompassing the selected first region; andafter the movement of the movable changeable shape, the moved andchanged movable changeable shape defines the non-selected second regionby encompassing the non-selected second region.